共计 967 个字符,预计需要花费 3 分钟才能阅读完成。
import java.util.ArrayList;
import java.util.Scanner;
/**
* 标题:停车场车辆统计 | 时间限制:1秒 | 内存限制:262144K | 语言限制:不限
* 特定大小的停车场,数组cars[]表示,其中1表示有车,0表示没车。车辆大小不一,小车占一个车位(长度1),货车占两个车位(长度2),卡车占三个车位(长度3),统计停车场最少可以停多少辆车,返回具体的数目。
* 输入描述:
* 整型字符串数组cars[],其中1表示有车,0表示没车,数组长度小于1000。
* 输出描述:
* 整型数字字符串,表示最少停车数目。
* 示例1
* 输入
* 1,0,1
* 输出
* 2
* 说明 1个小车占第1个车位 第二个车位空 1个小车占第3个车位 最少有2辆车
* 示例2
* 输入
* 1,1,0,0,1,1,1,0,1
* 输出
* 3
* 说明 1个货车占第1、2个车位 第3、4个车位空 1个卡车占第5、6、7个车位 第8个车位空 1个小车占第9个车位 最少3辆车
*/
public class M_N_T_23 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String line = scanner.nextLine();
String[] strings = line.split(",");
ArrayList<Integer> offCars = new ArrayList<>();
offCars.add(-1);
for (int i = 0; i < strings.length; i++) {
if ("0".equals(strings[i])) {
offCars.add(i);
}
}
offCars.add(strings.length);
int count = 0;
for (int i = 0; i < offCars.size() - 1; i++) {
int offset = offCars.get(i + 1) - offCars.get(i) - 1;
int kache = offset / 3;
int huoche = (offset - 3 * kache) / 2;
int qiche = offset - 3 * kache - 2 * huoche;
count += kache;
count += huoche;
count += qiche;
}
System.out.println(count);
}
}
正文完